#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int p[N];//记录每个元素的父亲节点节点，如果两个数属于一个集合那么他们的根节点一样
int n,m;
string t1,t2,t3;

int find(int num)
{
    //该函数用来找到一个数的根节点
    if(p[num]!=num)
    {
        //这样递归调用会导致每个数的p[x]直接指向我们的根节点
        p[num]=find(p[num]);
    }
    return p[num];
}
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin>>n>>m;
    for(int i=1;i<=n;i++) p[i]=i;//每个数字初始化为一个集合
    while(m--)
    {
        cin>>t1>>t2>>t3;
        int tem1=stoi(t2);
        int tem2=stoi(t3);
        if(t1=="M")
        {
            //合并那个集合就是找到他们的根节点进行连接
            p[find(tem1)]=find(tem2);
        }
        else
        {
            if(find(tem1)==find(tem2)) 
            cout<<"Yes"<<endl;
            else cout<<"No"<<endl;
        }

    }
    return 0;
}